#pragma once

#include <memory>
#include <vector>

#include <boost/smart_ptr/shared_ptr.hpp>

namespace TrueText {

class Drawer;
class FontImpl;

class DrawersBuilder
{
public:
	DrawersBuilder(boost::shared_ptr<FontImpl> font);
	DrawersBuilder(const DrawersBuilder& rhs);
	const DrawersBuilder& operator=(const DrawersBuilder& rhs);
	~DrawersBuilder();

	std::vector<boost::shared_ptr<Drawer> > Build() const;
private:
	boost::shared_ptr<FontImpl> font;
};

}